package com.qfedu.service.impl;

import com.qfedu.dao.GoodsDao;
import com.qfedu.dao.impl.GoodsDaoImpl;
import com.qfedu.entity.PageBean;
import com.qfedu.pojo.Goods;
import com.qfedu.pojo.GoodsType;
import com.qfedu.service.GoodsService;
import com.qfedu.service.GoodsTypeService;

import java.util.List;

/**
 * 创建者: QF-SUN
 * 创建时间: 2023/4/4 10:25
 * 描述:
 */
public class GoodsServiceImpl implements GoodsService {

    GoodsDao goodsDao = new GoodsDaoImpl();

    GoodsTypeService goodsTypeService = new GoodsTypeServiceImpl();

    @Override
    public PageBean<Goods> findByPage(int pageSize, int pageNum, String typeId) {

        PageBean<Goods> page = new PageBean<>();
        page.setPageNum(pageNum);
        page.setPageSize(pageSize);
        //起始索引
        int startIndex  = (pageNum - 1) * pageSize;

        //查 数据库 获取列表数据
        List<Goods> goodsList = goodsDao.findListByTypeId(startIndex, pageSize, typeId);
        page.setData(goodsList);
        //查 数据库 该分类商品的总数量
        long totalCount = goodsDao.findTotalCount(typeId);
        page.setTotalCount(totalCount);

        return page;
    }

    @Override
    public Goods findById(int goodsId) {
        Goods goods = goodsDao.findById(goodsId);
        //根据分类id 查询 商品分类对象
        GoodsType goodsType = goodsTypeService.findById(goods.getTypeid());
        //把分类对象赋值到商品对象中
        goods.setGoodsType(goodsType);

        return goods;
    }
}
